package arithmetic.functionTest;

import java.util.List;
import java.util.Optional;

import com.google.common.collect.Lists;

/**
 * Created on 2020-04-16
 */
public class TestOptional {
    public static void main(String[] args) {
        List<String> list = null;
        Lists.newArrayList("413","34","342");

        Optional<List<String>> optionalList = Optional.ofNullable(list);

        //如果为空则不打印
        //常规写法 if(){...}

        //函数式写法
        System.out.println(optionalList.map(l->l.size()).orElseGet(()->0));

        // 不要将optional 作为方法参数定义,也不要作为类的成员变量, 因为无法序列化 是value-based.
    }
}
